Delayed Side-Effects Ease Multi-core Programming

نویسندگان

  • Anton Lokhmotov
  • Alan Mycroft
  • Andrew Richards
چکیده

Computer systems are increasingly parallel and heterogeneous, while programs are still largely written in sequential languages. The obvious suggestion that the compiler should automatically distribute a sequential program across the system usually fails in practice because of the complexity of dependence analysis in the presence of aliasing. We introduce the sieve language construct which facilitates dependence analysis by using the programmer’s knowledge about data dependences and makes code more amenable to automatic parallelisation. The behaviour of sieve programs is deterministic, hence predictable and repeatable. Commercial implementations by Codeplay shows that sieve programs can be efficiently mapped onto a range of systems. This suggests that the sieve construct can be used for building reliable, portable and efficient software for multi-core systems.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Topic 9 Parallel and Distributed Programming

Developing parallel or distributed applications is a hard task and it requires advanced algorithms, realistic modeling, efficient design tools, high performance languages and libraries, and experimental evaluation. This topic provides a forum for presentation of new results and practical experience in this domain. It emphasizes research that facilitates the design and development of correct, hi...

متن کامل

Topic 9: Parallel and Distributed Programming

Developing parallel or distributed applications is a hard task and it requires advanced algorithms, realistic modeling, efficient design tools, high performance languages and libraries, and experimental evaluation. This topic provides a forum for presentation of new results and practical experience in this domain. It emphasizes research that facilitates the design and development of correct, hi...

متن کامل

Multi-Core Parallel Programming in Go

Go is a new concurrent systems programming language. One of its goals is to meet the challenge of multi-core parallel programming. In this paper, we present two multi-core parallel programs in Go and their performances on an octal-core microprocessor, to demonstrate the ease of multi-core parallel programming in Go and the efficiency of parallel Go code.

متن کامل

Herbs and natural supplements in the prevention and treatment of delayed-onset muscle soreness

Objective:  Unaccustomed and intense eccentric exercise is a common cause of delayed-onset muscle soreness (DOMS). There are multiple remedies for the treatment of DOMS, but its clinical and laboratory pieces of evidence are scarce. Currently, the treatments proposed for DOMS are numerous and include pharmaceuticals, herbal remedies, stretching, massage, nutritional supplements, and other alter...

متن کامل

Building a Java MapReduce Framework for Multi-core Architectures

MapReduce is a programming pattern that has been proved to be a simple abstraction on top of which can be built an efficient platform for largescale data processing in distributed environments, such as Google or Hadoop. With this pattern, application logic is expressed using sequential map and reduce functions. Thus, a runtime system can exploit the lack of side effects (pure functions) in thes...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007